package com.fantastic.web.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

/**
 * @author: rxx
 * @since: 2024/5/4 23:40
 * @description: web容器启动时初始化前端控制器和mvc的九大组件，以及springIOC容器。
 */
public class MvcConfigDispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    /**
     * 提供Spring容器的核心配置类
     * 返回的带有@Configuration注解的类用来配置ContextLoaderListener
     *
     * @return
     */
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{};
    }

    /**
     * 提供SpringMVC容器的核心配置类
     * 返回的带有@Configuration注解的类用来配置DispatcherServlet
     *
     * @return
     */
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{SpringConfig.class};
    }

    /**
     * 提供前端控制器的映射路径
     * //将一个或多个路径映射到DispatcherServlet上
     *
     * @return
     */
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

}

